home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Apps / Utilities / Other / TimeMon / TimeMon.nib (.txt) < prev    next >
NeXT TypedStream Data  |  1992-12-26  |  10KB  |  213 lines

  1. typedstream
  2. StreamTable
  3.     HashTable
  4. Object
  5. [20c]
  6. typedstream
  7. [739c]
  8. typedstream
  9.     HashTable
  10. Object
  11. TMApp
  12. HeaderClass
  13. %%%%i@@
  14. Application
  15. appnib
  16.     pcentView
  17. Percentages
  18. viewnib
  19. pauseMenuCell
  20. periodText
  21. factorText
  22. setFactor:
  23. setPeriod:
  24. togglePause:
  25. FirstResponder
  26. firstnib
  27. checkSpelling:
  28. alignSelCenter:
  29.     unscript:
  30. pasteFont:
  31. runPageLayout:
  32. superscript:
  33. copyRuler:
  34.     copyFont:
  35. selectAll:
  36. pasteRuler:
  37. toggleRuler:
  38. showGuessPanel:
  39. alignSelLeft:
  40. paste:
  41. performClose:
  42. arrangeInFront:
  43. subscript:
  44. copy:
  45. alignSelRight:
  46. delete:
  47. orderFrontColorPanel:
  48. underline:
  49. performMiniaturize:
  50. [8983c]
  51. typedstream
  52.     HashTable
  53. Object
  54. NibData
  55. @@@@s
  56. Storage
  57. {*@@}
  58.     [39{*@@}]
  59. File's Owner
  60. CustomObject
  61. Application
  62. MainMenu
  63. MenuTemplate
  64. *@*@ccc
  65. TimeMon
  66. Matrix
  67. Control
  68.     Responder
  69. @:@iiii
  70. MenuCell
  71. ButtonCell
  72. ActionCell
  73.     Helvetica
  74. Info Panel...
  75. Help/Preferences...
  76. ff@@#::s
  77. submenuAction:
  78. Bitmap
  79.     menuArrow
  80. Paste
  81. Select All
  82. Pause
  83. MyWindow
  84. WindowTemplate
  85. iiii***@s@
  86.     My Window
  87. Window
  88. CustomView
  89. Percentages
  90. Title
  91. Panel
  92.     TextField
  93. TextFieldCell
  94. Version 2.2
  95. All Rights Reserved.
  96. Button
  97. NXImage
  98. Docked
  99. CPU time usage monitor
  100. Helvetica-Bold$
  101. Copyright 1991, Scott Hess.
  102. VersionNumber
  103. Field
  104. Box2    
  105. Button1
  106. Field2
  107. Field1"
  108. Field3'
  109. Field4*
  110. Preferences
  111. ScrollView
  112. ClipView
  113. ciifffcfffs
  114. [4664c]{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;\f1\fmodern Ohlfs;}
  115. \margl40
  116. \margr40
  117. {\colortbl\red0\green0\blue0;}
  118. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\f0\b\i0\ul0\fs28\fc0 \
  119. Copyright\
  120. \b0\fs24 \
  121. Copyright 1991 Scott Hess.  Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that this copyright notice appear in all copies.  The copyright notice need not appear on binary-only distributions - just in source code.\
  122. Scott Hess makes no representations about the suitability of this software for any purpose.  It is provided "as is" without express or implied warranty.\
  123. \f1\fs20 \
  124. \f0\b\fs28 Help\
  125. \f1\b0\fs20 \
  126. \f0\b\fs24 TimeMon
  127. \b0  gives a graphical representation of where the CPU cycles are going.  Well, it's coarse, but better than nothing.  Version 2.0 is a complete rewrite of my earlier 
  128. \b TimeMon
  129. \b0  program 
  130.  if you've seen both, many of the differences are quite obvious!\
  131. There are three general usages of CPU time 
  132.  system time (time in the kernel), user time (time executing a user's code), and nice time (user time that has been set to a low priority).  There is also one other kind of CPU time 
  133.  idle time.  That's time during which there is nothing productive for the computer to do.  The operating system 
  134. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc0 essentially
  135. \pard\tx960\tx1920\tx2880\tx3840\tx4800\tx5760\tx6720\tx7680\tx8640\tx9600\fc0  twiddles it's thumbs during that time (something has to be done!).\
  136. \b TimeMon
  137. \b0  shows each of these times with a different color.  Luckily enough, the 
  138. \b NeXT
  139. \b0  supplies four colors.  Black shows system time, dark gray is user time, light gray is nice time, and white is idle time.\
  140. \b TimeMon
  141. \b0  shows these times in a sort of pie-chart view within 
  142. \b TimeMon
  143. \b0 's icon.  There are three layers.  The innermost layer is updated according to the 
  144. \b Update Period
  145. \b0  (set that at the top of this window).  The next layer is the average of some number of previous update periods.  This can be set be the 
  146. \b Layer Factor
  147. \b0  option above.  Lastly, the outermost layer is the average of a larger number of update periods 
  148.  The square of the 
  149. \b Layer Factor
  150. \b0 , to be precise.  Of course, both values are automatically stored in the defaults database for you.\
  151. \b TimeMon
  152. \b0  has been extensively tuned to reduce the amount of CPU time that it requires.  I felt that this was well worth the effort expended, since if the program is run at all, it will be run for the entire login session.  As a safety net, I also cause 
  153. \b TimeMon
  154. \b0  to run at a reduced priority 
  155.  thus, if the system is very busy, TimeMon will hopefully not run at all.\
  156. Even so, there still are probably times when you think even those few cycles are needed for something else.  Adjusting the 
  157. \b Update Period
  158. \b0  to a higher value will cause 
  159. \b TimeMon
  160. \b0  to use less CPU, as will upping the 
  161. \b Layer Factor
  162. \b0 .  Quitting also works.  Since 
  163. \b TimeMon
  164. \b0  displays in it's own icon, I felt that the Hide/Unhide abstraction of 
  165. \b NextStep
  166. \b0  did not really apply to causing the program to pause.  Thus, I provided the 
  167. \b Pause
  168. \b0  menu item to temporarily disable 
  169. \b TimeMon
  170. \b0 's output.\
  171. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\fc0 \
  172. \b\fs28 Scott\
  173. \b0\fs24 \
  174. I am a recent graduate of Gustavus Adolphus College in St. Peter, Mn.  (If you're considering a school, and like NeXTs, consider them 
  175.  at last count they had something like 40 or 45, for a student body of only 2200!).  In the spring of 1990, I wrote the reasonably popular shareware terminal emulator 
  176. \b Stuart
  177. \b0 , which was also included in modified form in the NextStep2.0 operating system as Terminal.  I'm currently busily at work on the future version (well, versions) of Stuart, but I keep getting interrupted by people with other work to do.  Unfortunately (?!?), that work pays more per month than Stuart does in 6 months, so I have to put Stuart aside periodically.\
  178. Right now you might say I'm at loose ends.  While I'm still quite busy programming, mainly for myself, but also for others, I'm also not "wired down".  If you've got a decent-sized project (>4 weeks) which you need to have done right, and requires good knowledge of NextStep, Unix, networking and other communications, or whatever, feel free to contact me.\
  179. I hope that you enjoy this program.  I certainly enjoyed creating it!\
  180. Later,\
  181. scott hess\
  182. RR#4 Box 227\
  183. Pipestone, Mn  56164\
  184. (507) 825-2788\
  185. scott@gac.edu\
  186. NXCursor
  187. NXibeam
  188. Scroller
  189. _doScroller:
  190. @@@ffsO
  191. Layer Factor:
  192. Times
  193. Update Period:
  194. Seconds
  195. ScrollingTextC=
  196. Field5UQ7XQ;[Q8`=9d`3g`:j`
  197. {i*@@@}
  198. [18{i*@@@}]
  199. hide:
  200. terminate:
  201. delegate
  202. makeKeyAndOrderFront:
  203. copy:
  204. paste:
  205. selectAll:
  206. togglePause:
  207. pauseMenuCell
  208. periodText
  209. factorText
  210. setPeriod:d
  211. setFactor:U
  212. nextTextUd
  213.